Skip to content

Latest commit

 

History

History
51 lines (46 loc) · 1.2 KB

二叉树_101对称二叉树.md

File metadata and controls

51 lines (46 loc) · 1.2 KB
给你一个二叉树的根节点 root , 检查它是否轴对称。

示例 1:
输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:
输入:root = [1,2,2,null,3,null,3]
输出:false
/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} root
 * @return {boolean}
 */
var isSymmetric = function(root) {
  if(root==null) {
		return true;
	}

  return dfs(root.left,root.right);

  function dfs(left,right){
    //递归的终止条件是两个节点都为空
    //或者两个节点中有一个为空
    //或者两个节点的值不相等
    if(left==null && right==null){
        return true
    }
    if(left===null || right===null) {
      return false;
    }
		if(left.val!==right.val) {
			return false;
		}
    //再递归的比较 左节点的左孩子 和 右节点的右孩子
		//以及比较  左节点的右孩子 和 右节点的左孩子
		  return dfs(left.left,right.right) && dfs(left.right,right.left);
    }
};